package com.etc.demoarray;

import java.util.Arrays;
import java.util.Random;

/**
 * @author: knowno
 * @create: 2024-09-04 09:04
 * @Version 1.0
 **/
public class TestArray4 {
    public static void main(String[] args) {
        //1 这是一个二维数组
        //[10][10] 可以理解为10行，10列.默认值为0
        int[][] rand1 = new int[10][10];
        System.out.println(rand1[0]);
        System.out.println(rand1[0][0]);


        //2 直接赋值,不指定维度长度，但是可以自动计算长度, 2*3
        int[][] rand2 = {
                {1, 2, 3},
                {4, 5, 6}
        };
        System.out.println(rand2.length);

        //3 指定其中一个维度
//        int[][] rand3 = new int[10][];
//        System.out.println(rand3[0]); // null
//        System.out.println(rand3[0].length); // NullPointerException

        //如果希望不出现异常，我们需要手动根据实际情况去实例化二维度的数组 .... new ...

        Random random = new Random();

        //赋值 或者获取数组元素的值 二维 + 嵌套循环
        //外循环控制的是行
        for (int i = 0; i < rand1.length; i++) {

            for (int j = 0; j < rand1[0].length; j++) {

                // [i][j] =>[行索引][列索引]
                rand1[i][j] = random.nextInt(100);

            }
        }

        //单独输出
        for (int i = 0; i < rand1.length; i++) {

            for (int j = 0; j < rand1[0].length; j++) {

                System.out.print(rand1[i][j] + "\t");

            }
            System.out.println();
        }


    }
}
